home *** CD-ROM | disk | FTP | other *** search
/ QuickTime 2.0 Beta / Quicktime 2.0 Beta.iso / Programming Stuff / Interfaces / Universal Interfaces / ConditionalMacros.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-01-30  |  3.5 KB  |  153 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        ConditionalMacros.h
  3.  
  4.     Copyright:    © 1984-1993 by Apple Computer, Inc., all rights reserved.
  5.  
  6.     WARNING
  7.     This file was auto generated by the interfacer tool. Modifications
  8.     must be made to the master file.
  9.  
  10. */
  11.  
  12. #ifndef __CONDITIONALMACROS__
  13. #define __CONDITIONALMACROS__
  14.  
  15.  
  16. /*
  17.     Defaults
  18. */
  19.  
  20. #ifndef SystemSevenOrLater
  21. #if defined(powerc) || defined(__powerc)
  22. #define SystemSevenOrLater 1
  23.  
  24. #else
  25. #define SystemSevenOrLater 0
  26.  
  27. #endif
  28.  
  29. #endif
  30.  
  31. #ifndef SystemSixOrLater
  32. #define SystemSixOrLater SystemSevenOrLater
  33.  
  34. #endif
  35.  
  36. #ifndef OLDROUTINENAMES
  37. #define OLDROUTINENAMES 1
  38.  
  39. #endif
  40.  
  41. #ifndef USES68KINLINES
  42. #if defined(powerc) || defined(__powerc)
  43. #define USES68KINLINES 0
  44.  
  45. #else
  46. #define USES68KINLINES 1
  47.  
  48. #endif
  49.  
  50. #endif
  51.  
  52. #ifndef USESROUTINEDESCRIPTORS
  53. #define USESROUTINEDESCRIPTORS !USES68KINLINES
  54.  
  55. #endif
  56.  
  57. #ifndef USESCODEFRAGMENTS
  58. #define USESCODEFRAGMENTS !USES68KINLINES
  59.  
  60. #endif
  61.  
  62.  
  63. /*
  64.     The following macros isolate the use of inlines from the routine prototypes.
  65.     A routine prototype will always be followed by on of these inline macros with
  66.     a list of the opcodes to be inlined.  On the 68K side, the appropriate inline
  67.     code will be generated.  On platforms that use code fragments, the macros are
  68.     essentially NOPs.
  69. */
  70.  
  71. #if USES68KINLINES && !USESCODEFRAGMENTS
  72. #define ONEWORDINLINE(trapNum) = trapNum
  73.  
  74. #define TWOWORDINLINE(firstWord, secondWord) = {firstWord, secondWord}
  75.  
  76. #define THREEWORDINLINE(firstWord, secondWord, thirdWord) = {firstWord,     \
  77.     secondWord,                    \
  78.     thirdWord}
  79.  
  80. #define FOURWORDINLINE(firstWord, secondWord, thirdWord, fourthWord) = {firstWord,     \
  81.     secondWord,                    \
  82.     thirdWord,                        \
  83.     fourthWord}
  84.  
  85. #define FIVEWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord) =     \
  86.     {firstWord,                    \
  87.     secondWord,                    \
  88.     thirdWord,                        \
  89.     fourthWord,                    \
  90.     fifthWord}
  91.  
  92. #define SIXWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord) =     \
  93.     {firstWord,                    \
  94.     secondWord,                    \
  95.     thirdWord,                        \
  96.     fourthWord,                    \
  97.     fifthWord,                        \
  98.     sixthWord}
  99.  
  100. #define SEVENWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventhWord) =     \
  101.     {firstWord,                    \
  102.     secondWord,                    \
  103.     thirdWord,                        \
  104.     fourthWord,                    \
  105.     fifthWord,                        \
  106.     sixthWord,                        \
  107.     seventhWord}
  108.  
  109. #define EIGHTWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventhWord, eighthWord) =     \
  110.     {firstWord,                    \
  111.     secondWord,                    \
  112.     thirdWord,                        \
  113.     fourthWord,                    \
  114.     fifthWord,                        \
  115.     sixthWord,                        \
  116.     seventhWord,                \
  117.     eighthWord}
  118.  
  119. #define NINEWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventhWord, eighthWord, ninthWord) =     \
  120.     {firstWord,                    \
  121.     secondWord,                    \
  122.     thirdWord,                        \
  123.     fourthWord,                    \
  124.     fifthWord,                        \
  125.     sixthWord,                        \
  126.     seventhWord,                \
  127.     eighthWord,                    \
  128.     ninthWord}
  129.  
  130. #else
  131. #define ONEWORDINLINE(trapNum)
  132.  
  133. #define TWOWORDINLINE(firstWord, secondWord)
  134.  
  135. #define THREEWORDINLINE(firstWord, secondWord, thirdWord)
  136.  
  137. #define FOURWORDINLINE(firstWord, secondWord, thirdWord, fourthWord)
  138.  
  139. #define FIVEWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord)
  140.  
  141. #define SIXWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord)
  142.  
  143. #define SEVENWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventhWord)
  144.  
  145. #define EIGHTWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventhWord, eighthWord)
  146.  
  147. #define NINEWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventhWord, eighthWord, ninthWord)
  148.  
  149. #endif
  150.  
  151. #endif
  152.  
  153.